home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 8
/
Aminet 8 (1995)(GTI - Schatztruhe)[!][Oct 1995].iso
/
Aminet
/
disk
/
cdrom
/
MCDPlay.lha
/
MCDPlayer
/
Source
/
mcdplayer.h
< prev
next >
Wrap
C/C++ Source or Header
|
1994-12-22
|
3KB
|
147 lines
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <exec/types.h>
#include <exec/io.h>
#include <exec/execbase.h>
#include <exec/nodes.h>
#include <exec/memory.h>
#include <exec/libraries.h>
#include <workbench/workbench.h>
#include <workbench/startup.h>
#include <devices/trackdisk.h>
#include <devices/scsidisk.h>
#include <devices/timer.h>
#include <devices/inputevent.h>
#include <libraries/dos.h>
#include <clib/alib_protos.h>
#include <clib/exec_protos.h>
#include <clib/commodities_protos.h>
#include <clib/wb_protos.h>
#include <clib/intuition_protos.h>
#include <intuition/intuition.h>
#include <intuition/gadgetclass.h>
#include <graphics/displayinfo.h>
#define VERSION "1.0"
#define BYTES_PER_LINE 16
#define SENSE_LEN 252
#define MAX_DATA_LEN 252
#define MAX_TOC_LEN 804 /* max TOC size = 100 TOC track descriptors */
#define PAD 0
#define LINE_BUF (128)
#define NUM_OF_CDDAFRAMES 75 /* 75 frames per second audio */
#define CDDALEN 2448 /* 1 frame has max. 2448 bytes (subcode 2) */
#define OFFS_KEY 2
#define OFFS_CODE 12
typedef struct MsgPort MSGPORT;
typedef struct IOStdReq IOSTDREQ;
typedef struct List LIST;
typedef struct Node NODE;
typedef struct SCSICmd SCSICMD;
typedef struct
{
BYTE code;
UBYTE *ptr;
} IDTOSTRING;
typedef struct
{
UBYTE opcode;
UBYTE b1;
UBYTE b2;
UBYTE b3;
UBYTE b4;
UBYTE control;
} SCSICMD6;
typedef struct
{
UBYTE opcode;
UBYTE b1;
UBYTE b2;
UBYTE b3;
UBYTE b4;
UBYTE b5;
UBYTE b6;
UBYTE b7;
UBYTE b8;
UBYTE control;
} SCSICMD10;
typedef struct
{
UBYTE opcode;
UBYTE b1;
UBYTE b2;
UBYTE b3;
UBYTE b4;
UBYTE b5;
UBYTE b6;
UBYTE b7;
UBYTE b8;
UBYTE b9;
UBYTE b10;
UBYTE control;
} SCSICMD12;
#define SCSI_CMD_TUR 0x00
#define SCSI_CMD_RZU 0x01
#define SCSI_CMD_RQS 0x03
#define SCSI_CMD_FMU 0x04
#define SCSI_CMD_RAB 0x07
#define SCSI_CMD_RD 0x08
#define SCSI_CMD_WR 0x0A
#define SCSI_CMD_SK 0x0B
#define SCSI_CMD_INQ 0x12
#define SCSI_CMD_MSL 0x15
#define SCSI_CMD_RU 0x16
#define SCSI_CMD_RLU 0x17
#define SCSI_CMD_MSE 0x1A
#define SCSI_CMD_SSU 0x1B
#define SCSI_CMD_RDI 0x1C
#define SCSI_CMD_SDI 0x1D
#define SCSI_CMD_PAMR 0x1E
#define SCSI_CMD_RCP 0x25
#define SCSI_CMD_RXT 0x28
#define SCSI_CMD_WXT 0x2A
#define SCSI_CMD_SKX 0x2B
#define SCSI_CMD_WVF 0x2E
#define SCSI_CMD_VF 0x2F
#define SCSI_CMD_RDD 0x37
#define SCSI_CMD_WDB 0x3B
#define SCSI_CMD_RDB 0x3C
#define SCSI_CMD_COPY 0x18
#define SCSI_CMD_COMPARE 0x39
#define SCSI_CMD_COPYANDVERIFY 0x3A
#define SCSI_CMD_CHGEDEF 0x40
#define SCSI_CMD_READSUBCHANNEL 0x42
#define SCSI_CMD_READTOC 0x43
#define SCSI_CMD_READHEADER 0x44
#define SCSI_CMD_PLAYAUDIO12 0xA5
#define SCSI_CMD_PLAYAUDIOTRACKINDEX 0x48
#define SCSI_CMD_PAUSERESUME 0x4B
extern struct Screen *Scr;
extern struct Window *MainWnd;
extern struct TextAttr topaz8;
extern APTR VisualInfo;
extern UBYTE TOC_NumTracks;
extern UBYTE TOC_Flags[];
extern ULONG TOC_Addr[];
extern char *TOC_Title[];
extern char *TOC_CDTitle;
extern char *TOC_CDInterpret;
extern char TOC_TitleStrs[];
extern char TOC_CDID[];
extern char *SongPath;
extern BYTE Program[100][9];
extern char FontName[];
extern UWORD offy;